#pragma once
#include "widget.h"
#include "refc_ptr.h"
#include "textbox_impl_base.h"
#include "window.h"

namespace krryn{
	namespace gui{
		class textbox : public widget{
		public:
			typedef textbox_impl_base impl;
			typedef textbox_initializer with;

			textbox(const with &a_Initialize);

			virtual void *handle();
			virtual ~textbox() { m_Pimpl->destroy(); }
		private:
			impl *m_Pimpl;
		};

		class textbox_initializer : public widget_initializer<textbox_initializer>{
		public:
			textbox_initializer();
			textbox_initializer(const properties &a_Props);
			textbox* create();
		private:
		};
	}
}